function classDecorator(target) {
  console.log('classDecorator')
}
function propertyDecorator(target, propertyKey) {
  console.log('propertyDecorator')
}
function methodDecorator(target, propertyKey) {
  console.log('methodDecorator')
}
function accessorDecorator(target, propertyKey) {
  console.log('accessorDecorator')
}
function parametorDecorator(target, propertyKey, parametorIndex) {
  console.log('parametorDecorator', parametorDecorator)
}
@classDecorator
class Example {
  @propertyDecorator
  prop
  @accessorDecorator
  get myProp() {
    return this.prop
  }
  @methodDecorator
  method(@parametorDecorator param) {}
}
